Along with the popularization of the Internet technology, in the late 90s, P2P application represented by Napster begins to be popularized in the Internet. P2P refers to peer-to-peer computing or a peer-to-peer networking, in which nodes share sources and services through direct exchanging, and each node may be a server or a client.
Generally, a P2P based video service includes two types, namely, a live broadcasting service and a video-on-demand service.
The video live broadcasting refers to that the server plays programs at fixed time, and the user views the programs at the terminal, which is like the play mode of televisions. The topology architecture has the following features. The topology is constructed by using the server as a center, and each live broadcasting edge server is responsible for managing a part of the programs, interacting with a Peer (node), providing a program data buffer, and inserting the newly added node to a certain position of the topology.
The video video-on-demand refers to a service capable of providing an interactive video service at any time when the user requires. The topology architecture has the following features. The video-on-demand topology architecture is constructed by using the server as a center, and may be particularly in a net manner or a tree manner, super nodes (SNs) construct the backbone network, and each SN is responsible for managing a certain region, and interacting with the Peer, so as to provide a connectable node list.
During a procedure of implementing the present invention, the inventors find that the prior art at least has the following disadvantages. The functions of the live broadcasting and the video-on-demand in the P2P based video service system are independently realized, and the two play manners are not interfused, such that the two manners respectively have some problems. The living broadcasting program is smooth and clear, but cannot be dragged; and the video-on-demand program satisfies the desire of the user of playing the program at any moment, but the user needs to query the relevant program, such that a drag delay is large with a long buffer time, and a program smoothness needs to be improved. Further, each terminal node has one disk configured to buffer the data already viewed by the user, but the buffered data is not fully utilized.